The basic operation and structure of land mobile radio communication systems and cellular radio/telephone communication systems (communication systems) are known. Communication systems typically comprise a plurality of communication units (vehicle mounted or portable radios in a land mobile system and radio/telephones in a cellular system), a predetermined number of repeaters, which are located throughout a geographic region, that transceive information via communication channels, and a controlling entity. A controlling entity may either be a centralized call processing controller or it may be a network of distributed controllers working together to establish communication paths for the communication units.
In the course of normal operations, communication units can often utilize various communication services or features to communicate with one another. For instance, a communication unit may be capable of group dispatch, private call, secure voice, telephone interconnect and other services (as found in a Motorola SmartNet.TM. or Privacy Plus.TM. communication system), or a subset of such services. The provision of multiple communication services typically add value to those communication units capable of such services. This added value is often reflected by communication system manufacturers as an added premium to the cost of the communication units. For instance, a customer may purchase a Privacy Plus.TM. system and pay an extra fee to allow a certain group of mobiles to have additional telephone interconnect capabilities. Quite often, the distinguishing characteristics between a "regular" mobile and an "enhanced" mobile are the software applications operating within each communication unit.
Typically, there are two techniques which allow the selective utilization of software applications by a communication unit. In the first technique, each communication unit is programmed at the manufacturer's factory with software applications stored in a non-volatile memory such as PROM (programmable read-only memory). Regular and enhanced communication units are distinguished by codeplug bits which enable various software applications. Thus, the non-volatile memories of both a regular and enhanced communication unit contain the same software, but those applications necessary for additional types of communication are enabled (via the codeplug bits) only in enhanced communication units. Alternatively, an external programming device may be used to enable software applications. For instance, many communication products made by Motorola utilize Radio Service Software (RSS), which operates on a typical personal computer, to enable various software features.
A second technique for selective software utilization is to add software applications via an external programming device similar to RSS. For this technique, individual communication units contain a re-programmable non-volatile memory such as EEPROM (electrically erasable programmable read-only memory) for storing the software applications. Thus, the memory of a regular communication unit will contain only those software applications necessary for basic operation whereas the memory of an enhanced communication unit will contain software applications which allow other types of communication in addition to the basic operation. Unfortunately, neither of the two techniques discussed above are able to fully prevent unauthorized use and duplication of software applications and communication unit identification codes (unit ID codes).
It is possible for a user to copy the non-volatile memory of an enhanced communication unit and place the replicated software applications into the non-volatile memory of a regular unit, thereby creating a substantially identical enhanced unit without paying an additional fee. Such tactics are often employed in systems where a user is charged according to the number of unit ID codes used in the system. By duplicating a communication unit's memory, and hence its ID code, additional communication units can be provided. Alternatively, anyone in possession of the appropriate external programming device can illicitly enable or add unauthorized software applications. Although many communication systems possess means for denying access to communication units that are incorrectly programmed, some system operators do not enable these means, thus allowing unauthorized use. The unauthorized use and duplication of software applications and unit ID codes not only cheats manufacturers of their entitled fees, they also overburden critically scarce communication resources and interfere with the authorized communications of other communication units.
Further exacerbating the use of unauthorized software applications and/or duplicated unit ID codes is the difficulty of its detection. Often, the only way to detect unauthorized use and duplication is to individually examine each communication unit within a system. Obviously, this is a costly proposition for systems comprising thousands of communication units. Therefore a need exists for a method which allows the detection of unauthorized use and duplication of software applications and unit ID codes in communication units.